SlideShare una empresa de Scribd logo
1 de 6
Descargar para leer sin conexión
APLICACIÓN CON LOS MÉTODOS
          CLÁSICOS DE ENCRIPTACIÓN
                 (POLYBIOS Y STREAM)

Encriptación
Es el proceso mediante el cual cierta información o texto sin formato es cifrado de
forma que el resultado sea ilegible a menos que se conozcan los datos necesarios
para su interpretación.
Es una medida de seguridad utilizada para que al momento de almacenar o
transmitir información sensible ésta no pueda ser obtenida con facilidad por
terceros.
Opcionalmente puede existir además un proceso de desencriptación a través del
cual la información puede ser interpretada de nuevo a su estado original, aunque
existen métodos de encriptación que no pueden ser revertidos.
El término encriptación es traducción literal del inglés y no existe en el idioma
español. La forma más correcta de utilizar este término sería cifrado.




Criptografía clásica
El cifrado de textos es una actividad que ha sido ampliamente usada a lo largo de la
historia, sobre todo en el campo militar y en aquellos otros en los que es necesario
enviar mensajes con información confidencial y sensible a través de medios no
seguros.
Aunque en cierta forma el sistema de jeroglíficos egipcio puede considerarse ya
una forma de criptografía (sólo podían ser entendidos por personas con
conocimientos suficientes), el primer sistema criptográfico como tal conocido de
debe a Julio Cesar.
EL CIFRADOR DE POLYBIOS
Polybios ideo un sistema de cifrado por sustitución que consistía en asignar a cada
letra del alfabeto un par de letras.
El sistema establece una matriz de dos dimensiones de 5x5 en la que cada letra del
alfabeto se representa por sus coordenadas dentro de la matriz. Esta matriz deberá
ser conocida tanto por el emisor como por el receptor del mensaje.
Es el Cifrador por sustitución de caracteres más antiguo que se conoce (siglo II
a.C.) pero duplica el tamaño. Este cifrado fue realizado en la antigua Grecia, usaba
el alfabeto Griego, pero para su utilidad ha sido adaptado a otros lenguajes.




    Existen dos tipos de matrices que se pueden utilizar en el Cifrador de
     Polybios, la primera opción es colocando en sus dimensiones vertical y
     horizontal letras de A-E, la segunda opción es colocando en sus dimensiones
     vertical y horizontal letras de 1-5. Sin embargo, la manera adecuada de
     utilizar este método es con la segunda opción, ya que si la hiciéramos con la
     primera, el método se parecería al método Playfair.
    La matriz debe de ser cuadrada por lo que se trata de ubicar en la matriz
     todas las letras del abecedario, según el lenguaje que se esté utilizando.
    Un gran problema de este tipo de cifrado es que el tamaño del mensaje se
     duplica, lo cual no siempre es deseable.

ESPECIFICACIONES Y MODIFICACIONES REALIZADAS AL MÉTODO
    La matriz que utilizaremos para el desarrollo de nuestra aplicación es una
     matriz con dimensión 5x5, la cual en el encabezado vertical y horizontal se
     colocarán números, los mismos que representarán a los caracteres que
     serán parte del texto cifrado.
    En el encabezado vertical se colocarán números impares (1, 3, 5, 7, 9), en el
     encabezado horizontal se colocarán números del 1-5.
    El lenguaje que utilizaremos será el basado en el alfabeto español, que
     contiene de A-Z, pero si colocamos todas las letras que correspondes a
dicho alfabeto no nos daría una matriz cuadrada, por lo que toda letra que
  sea “j”, será sustituida por la “i”. En el caso de la letra “ñ”, será sustituida por
  la “n”. De esta manera lograremos tener una matriz cuadrada con 25
  caracteres.
 Matriz a utilizar en el desarrollo de la aplicación:


                            1      2      3       4      5
                     1     a       b       c      d      E
                     3      f      g      h       i      k
                     5      l     m       n       o      p
                     7     q       r       s      t      u
                     9      v      w      x       y       z

  Como se puede observar en esta matriz ya no se colocan ni la letra “j” ni la
  “ñ”. Puesto que se explicó anteriormente que esas letras tendrán su
  correspondiente sustitución.
 El método, consiste en corresponder la letra que se desea ocultar con otras
  dos según la fila y la columna de la matriz a la que pertenece. Por ejemplo, la
  letra “a” sería “11”, la “s” sería “73”.
 Cuando vamos a Encriptar un texto que contenga tanto letras como
  números, el programa recibirá todo el texto plano (texto a Encriptar), pero
  solo encriptará todos aquellos caracteres que sean letras, además obviará
  los espacios en blanco.
 Cuando vamos a Desencriptar un texto Cifrado debe contener solo
  números, el programa recibirá todo el texto Cifrado (texto a Desencriptar),
  pero solo Desencriptará todos aquellos caracteres que sean números,
  cuando se ingrese algún texto con letras se presentara un mensaje de error
  “texto ilegible”, además obviará los espacios en blanco.
MODELO
   VARIABLES
      x= Encabezado Horizontal (1, 2, 3, 4, 5)
      y= Encabezado Vertical (1, 3, 5, 7, 9)
      A= (a, b, c, d, e, f, g, h, i, k, l ,m, n, o, p, q, r, s, t, u, v, x, y, z)
              Z=xy
              xy=A

                               X             Y          Texto Cifrado               Texto Descifrado
      Texto Plano              A             A               Xy                            A

DIAGRAMA DE SUCESOS
ENCRIPTAR


                                                                    POLYBIOS                    11
                                       a [x, y]

                          a
  Texto Plano                             Cifrar                                               Texto CiTfrado




DESENCRIPTAR


                                                                        POLYBIOS                       a
                                          11 [x, y]

                              11
    Texto Cifrado                           Descifrar                                                  Texto Plano
EL ALGORITMO STREAM
Este algoritmo se basa en la suma de valores de los caracteres del texto plano y de
la clave. De esta forma el valor del primer carácter del texto cifrado es el de la suma
del valor del primer carácter del texto plano y el del primero de la clave, el valor
del segundo carácter del texto cifrado es el de la suma del segundo carácter del
texto plano y el del segundo de la clave, etc...


Texto plano:       E    S   T    O    E    S   U    N   S   E    C    R   E    T    ...

Valor:             5    20 21 16      5    20 22 14     20 5     3    19 5     21   ...

Clave:             P    U   E    R    T    A   P    U   E   R    T    A   P    U    ...

Valor              17 22 5       19   21   1   17   22 5    19   21   1   17   22 ...
Suma:              22 42 26 35 26 27 39 36 25 24 24 20 22 43 ...
Módulo (27):       22 15    26 8      26 27 12      9   25 24 24 20 22 16           ...

Texto cifrado:     U    Ñ   Y    H    Y    Z   L    I   X   W    W    S   U    O    ...


    Utilizaremos un módulo, de forma que cuando un valor excede el módulo se
     lo restamos.
    El valor del módulo depende del tipo de lenguaje que estemos utilizando, en
     nuestro caso es el Lenguaje Español.
    Con una clave aleatoria y tan larga como el propio texto plano este
     algoritmo es, en teoría y en la práctica, inviolable, pues cualquier texto
     plano de la misma longitud es un posible candidato.
    Una forma práctica de generar una clave tan larga como se desee es recurrir
     a un libro que sería nuestra clave.

ESPECIFICACIONES Y MODIFICACIONES REALIZADAS AL MÉTODO
    Al momento de ingresar un texto plano, el usuario ingresa con espacios, sin
     embargo todos los caracteres se tomarán en cuenta como un solo texto.
    El módulo según nuestro alfabeto español contiene 27 letras. Valor que será
     restado en caso de que la suma del valor de los caracteres tanto del texto
     plano como de la clave excedan el valor de dicho módulo.
    La clave que se utilice en la aplicación puede ser elegida por el usuario, el
     programa compara si el texto a Encriptar es menor a clave, en caso de ser
     cierto la clave se adapta al texto reduciéndola. Si el texto a Encriptar es
     mayor a clave, entonces la clave se adapta al texto duplicándola o
     incrementando caracteres de la propia clave, hasta que el tamaño de los
     caracteres del texto plano y de la clave sean iguales.
    Cuando vamos a Encriptar un texto que contenga tanto letras como
     números, el programa recibirá todo el texto plano (texto a Encriptar), pero
solo encriptará todos aquellos caracteres que sean letras, además obviará
             los espacios en blanco.
            Cuando vamos a Desencriptar un texto Cifrado debe contener solo números,
             el programa recibirá todo el texto Cifrado (texto a Desencriptar), pero solo
             Desencriptará todos aquellos caracteres que sean números, además obviará
             los espacios en blanco.

        MODELO
              VARIABLES
               x= Valor Texto Plano (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13…, 27)
               y=Valor Clave (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13…, 27)
               z= Suma
               A= (a, b, c, d, e, f, g, h, i, k, l ,m, n, o, p, q, r, s, t, u, v, x, y, z)
                       Z=x+y
                       x+y=A

                                                           Texto                                 Texto
          X      Y        Z       Z>27         Z<27               Descifrado (z+y)>27 (z+y)<27
                                                          Cifrado                              Descifrado
Texto
          A      A      x+y        Z--27        Z            Z=A          Z+Y           (z+y)--27   (z+y)               A
Plano

        DIAGRAMA DE SUCESOS
        ENCRIPTAR

                                                                            STREAM
                                               x=1; y=2                                             A

                                                                   x+y
                                  x
          Texto Plano                               Cifrar                                              Texto Cifrado



               Clave                       y



        DESENCRIPTAR


                                                                             STREAM
                                                                                                    A
                                                        x
                                                                   y
                                  Z+Y
          Texto Cifrado                          Descifrar                                               Texto Plano

Más contenido relacionado

Destacado (7)

encriptacion
encriptacionencriptacion
encriptacion
 
encriptacion
encriptacionencriptacion
encriptacion
 
METODOS DE ENCRIPTACIÓN
METODOS DE ENCRIPTACIÓNMETODOS DE ENCRIPTACIÓN
METODOS DE ENCRIPTACIÓN
 
Jlex Cup
Jlex CupJlex Cup
Jlex Cup
 
Análisis Semántico con Cup
Análisis Semántico con CupAnálisis Semántico con Cup
Análisis Semántico con Cup
 
Guía práctica de ANTLR 2.7.2
Guía práctica de ANTLR 2.7.2Guía práctica de ANTLR 2.7.2
Guía práctica de ANTLR 2.7.2
 
METODOS DE ENCRIPTACIÓN
METODOS DE ENCRIPTACIÓNMETODOS DE ENCRIPTACIÓN
METODOS DE ENCRIPTACIÓN
 

Similar a METODOS DE ENCRIPTACIÓN

Similar a METODOS DE ENCRIPTACIÓN (20)

Seguridad informática
Seguridad informáticaSeguridad informática
Seguridad informática
 
Fundamentos de computación(ICM) en octave
Fundamentos de computación(ICM) en octaveFundamentos de computación(ICM) en octave
Fundamentos de computación(ICM) en octave
 
Lenguajes formales y teoría de autómatas I.pdf
Lenguajes formales y teoría de autómatas I.pdfLenguajes formales y teoría de autómatas I.pdf
Lenguajes formales y teoría de autómatas I.pdf
 
S itema07
S itema07S itema07
S itema07
 
Taller de cripto
Taller de criptoTaller de cripto
Taller de cripto
 
Analisis lexico 2
Analisis lexico 2Analisis lexico 2
Analisis lexico 2
 
Programacion
ProgramacionProgramacion
Programacion
 
Programacion
ProgramacionProgramacion
Programacion
 
Programacion
ProgramacionProgramacion
Programacion
 
Algoritmos y Estructura de datos
Algoritmos y Estructura de datosAlgoritmos y Estructura de datos
Algoritmos y Estructura de datos
 
Presentación1
Presentación1Presentación1
Presentación1
 
Analisis Lexico
Analisis LexicoAnalisis Lexico
Analisis Lexico
 
lenguajes formales
lenguajes formaleslenguajes formales
lenguajes formales
 
Conceptos de algoritmos
Conceptos de algoritmosConceptos de algoritmos
Conceptos de algoritmos
 
Tipos de datos usados en lenguaje C
Tipos de datos usados en lenguaje CTipos de datos usados en lenguaje C
Tipos de datos usados en lenguaje C
 
Tipos de datos usados en c
Tipos de datos usados en cTipos de datos usados en c
Tipos de datos usados en c
 
Lizbeth...
Lizbeth...Lizbeth...
Lizbeth...
 
Introduccion allenguajedeprogramacion
Introduccion allenguajedeprogramacionIntroduccion allenguajedeprogramacion
Introduccion allenguajedeprogramacion
 
Programacion
ProgramacionProgramacion
Programacion
 
Programacion
ProgramacionProgramacion
Programacion
 

METODOS DE ENCRIPTACIÓN

  • 1. APLICACIÓN CON LOS MÉTODOS CLÁSICOS DE ENCRIPTACIÓN (POLYBIOS Y STREAM) Encriptación Es el proceso mediante el cual cierta información o texto sin formato es cifrado de forma que el resultado sea ilegible a menos que se conozcan los datos necesarios para su interpretación. Es una medida de seguridad utilizada para que al momento de almacenar o transmitir información sensible ésta no pueda ser obtenida con facilidad por terceros. Opcionalmente puede existir además un proceso de desencriptación a través del cual la información puede ser interpretada de nuevo a su estado original, aunque existen métodos de encriptación que no pueden ser revertidos. El término encriptación es traducción literal del inglés y no existe en el idioma español. La forma más correcta de utilizar este término sería cifrado. Criptografía clásica El cifrado de textos es una actividad que ha sido ampliamente usada a lo largo de la historia, sobre todo en el campo militar y en aquellos otros en los que es necesario enviar mensajes con información confidencial y sensible a través de medios no seguros. Aunque en cierta forma el sistema de jeroglíficos egipcio puede considerarse ya una forma de criptografía (sólo podían ser entendidos por personas con conocimientos suficientes), el primer sistema criptográfico como tal conocido de debe a Julio Cesar.
  • 2. EL CIFRADOR DE POLYBIOS Polybios ideo un sistema de cifrado por sustitución que consistía en asignar a cada letra del alfabeto un par de letras. El sistema establece una matriz de dos dimensiones de 5x5 en la que cada letra del alfabeto se representa por sus coordenadas dentro de la matriz. Esta matriz deberá ser conocida tanto por el emisor como por el receptor del mensaje. Es el Cifrador por sustitución de caracteres más antiguo que se conoce (siglo II a.C.) pero duplica el tamaño. Este cifrado fue realizado en la antigua Grecia, usaba el alfabeto Griego, pero para su utilidad ha sido adaptado a otros lenguajes.  Existen dos tipos de matrices que se pueden utilizar en el Cifrador de Polybios, la primera opción es colocando en sus dimensiones vertical y horizontal letras de A-E, la segunda opción es colocando en sus dimensiones vertical y horizontal letras de 1-5. Sin embargo, la manera adecuada de utilizar este método es con la segunda opción, ya que si la hiciéramos con la primera, el método se parecería al método Playfair.  La matriz debe de ser cuadrada por lo que se trata de ubicar en la matriz todas las letras del abecedario, según el lenguaje que se esté utilizando.  Un gran problema de este tipo de cifrado es que el tamaño del mensaje se duplica, lo cual no siempre es deseable. ESPECIFICACIONES Y MODIFICACIONES REALIZADAS AL MÉTODO  La matriz que utilizaremos para el desarrollo de nuestra aplicación es una matriz con dimensión 5x5, la cual en el encabezado vertical y horizontal se colocarán números, los mismos que representarán a los caracteres que serán parte del texto cifrado.  En el encabezado vertical se colocarán números impares (1, 3, 5, 7, 9), en el encabezado horizontal se colocarán números del 1-5.  El lenguaje que utilizaremos será el basado en el alfabeto español, que contiene de A-Z, pero si colocamos todas las letras que correspondes a
  • 3. dicho alfabeto no nos daría una matriz cuadrada, por lo que toda letra que sea “j”, será sustituida por la “i”. En el caso de la letra “ñ”, será sustituida por la “n”. De esta manera lograremos tener una matriz cuadrada con 25 caracteres.  Matriz a utilizar en el desarrollo de la aplicación: 1 2 3 4 5 1 a b c d E 3 f g h i k 5 l m n o p 7 q r s t u 9 v w x y z Como se puede observar en esta matriz ya no se colocan ni la letra “j” ni la “ñ”. Puesto que se explicó anteriormente que esas letras tendrán su correspondiente sustitución.  El método, consiste en corresponder la letra que se desea ocultar con otras dos según la fila y la columna de la matriz a la que pertenece. Por ejemplo, la letra “a” sería “11”, la “s” sería “73”.  Cuando vamos a Encriptar un texto que contenga tanto letras como números, el programa recibirá todo el texto plano (texto a Encriptar), pero solo encriptará todos aquellos caracteres que sean letras, además obviará los espacios en blanco.  Cuando vamos a Desencriptar un texto Cifrado debe contener solo números, el programa recibirá todo el texto Cifrado (texto a Desencriptar), pero solo Desencriptará todos aquellos caracteres que sean números, cuando se ingrese algún texto con letras se presentara un mensaje de error “texto ilegible”, además obviará los espacios en blanco.
  • 4. MODELO VARIABLES x= Encabezado Horizontal (1, 2, 3, 4, 5) y= Encabezado Vertical (1, 3, 5, 7, 9) A= (a, b, c, d, e, f, g, h, i, k, l ,m, n, o, p, q, r, s, t, u, v, x, y, z) Z=xy xy=A X Y Texto Cifrado Texto Descifrado Texto Plano A A Xy A DIAGRAMA DE SUCESOS ENCRIPTAR POLYBIOS 11 a [x, y] a Texto Plano Cifrar Texto CiTfrado DESENCRIPTAR POLYBIOS a 11 [x, y] 11 Texto Cifrado Descifrar Texto Plano
  • 5. EL ALGORITMO STREAM Este algoritmo se basa en la suma de valores de los caracteres del texto plano y de la clave. De esta forma el valor del primer carácter del texto cifrado es el de la suma del valor del primer carácter del texto plano y el del primero de la clave, el valor del segundo carácter del texto cifrado es el de la suma del segundo carácter del texto plano y el del segundo de la clave, etc... Texto plano: E S T O E S U N S E C R E T ... Valor: 5 20 21 16 5 20 22 14 20 5 3 19 5 21 ... Clave: P U E R T A P U E R T A P U ... Valor 17 22 5 19 21 1 17 22 5 19 21 1 17 22 ... Suma: 22 42 26 35 26 27 39 36 25 24 24 20 22 43 ... Módulo (27): 22 15 26 8 26 27 12 9 25 24 24 20 22 16 ... Texto cifrado: U Ñ Y H Y Z L I X W W S U O ...  Utilizaremos un módulo, de forma que cuando un valor excede el módulo se lo restamos.  El valor del módulo depende del tipo de lenguaje que estemos utilizando, en nuestro caso es el Lenguaje Español.  Con una clave aleatoria y tan larga como el propio texto plano este algoritmo es, en teoría y en la práctica, inviolable, pues cualquier texto plano de la misma longitud es un posible candidato.  Una forma práctica de generar una clave tan larga como se desee es recurrir a un libro que sería nuestra clave. ESPECIFICACIONES Y MODIFICACIONES REALIZADAS AL MÉTODO  Al momento de ingresar un texto plano, el usuario ingresa con espacios, sin embargo todos los caracteres se tomarán en cuenta como un solo texto.  El módulo según nuestro alfabeto español contiene 27 letras. Valor que será restado en caso de que la suma del valor de los caracteres tanto del texto plano como de la clave excedan el valor de dicho módulo.  La clave que se utilice en la aplicación puede ser elegida por el usuario, el programa compara si el texto a Encriptar es menor a clave, en caso de ser cierto la clave se adapta al texto reduciéndola. Si el texto a Encriptar es mayor a clave, entonces la clave se adapta al texto duplicándola o incrementando caracteres de la propia clave, hasta que el tamaño de los caracteres del texto plano y de la clave sean iguales.  Cuando vamos a Encriptar un texto que contenga tanto letras como números, el programa recibirá todo el texto plano (texto a Encriptar), pero
  • 6. solo encriptará todos aquellos caracteres que sean letras, además obviará los espacios en blanco.  Cuando vamos a Desencriptar un texto Cifrado debe contener solo números, el programa recibirá todo el texto Cifrado (texto a Desencriptar), pero solo Desencriptará todos aquellos caracteres que sean números, además obviará los espacios en blanco. MODELO VARIABLES x= Valor Texto Plano (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13…, 27) y=Valor Clave (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13…, 27) z= Suma A= (a, b, c, d, e, f, g, h, i, k, l ,m, n, o, p, q, r, s, t, u, v, x, y, z) Z=x+y x+y=A Texto Texto X Y Z Z>27 Z<27 Descifrado (z+y)>27 (z+y)<27 Cifrado Descifrado Texto A A x+y Z--27 Z Z=A Z+Y (z+y)--27 (z+y) A Plano DIAGRAMA DE SUCESOS ENCRIPTAR STREAM x=1; y=2 A x+y x Texto Plano Cifrar Texto Cifrado Clave y DESENCRIPTAR STREAM A x y Z+Y Texto Cifrado Descifrar Texto Plano